package com.wzw.expression.record.expression;

import com.wzw.expression.expression.operation.Operation;
import com.wzw.expression.expression.invocation.OperationInvocationContext;
import com.wzw.expression.expression.invocation.OperationInvocationContextProvider;
import com.wzw.expression.expression.invocation.OperationInvocationMetadata;
import com.wzw.expression.record.model.IRecordContext;

/**
 * @author Wangzhiwen
 */
public class IRecordInvocationContextProvider implements OperationInvocationContextProvider {
    @Override
    public Class<? extends Operation> getType() {
        return IRecordOperation.class;
    }

    @Override
    public OperationInvocationContext get(OperationInvocationMetadata metadata, Object[] args, Object target) {
        return new IRecordContext(metadata, target, args);
    }
}
